package com.github.shiqyue.timedelay;

import java.util.concurrent.TimeUnit;

/***
 * 由wwy创建于2018/5/30
 */
public interface TimeDelayManager {


    /****
     * 添加延时任务
     * @param type 类型，如:"order-delete" "order-confirm"
     * @param id id,唯一标示，如订单id
     * @param timeDelay 延迟时间
     * @param timeUnit 时间单位
     * @return
     */
    public boolean addTask(String type, String id, Long timeDelay, TimeUnit timeUnit);


    /***
     * 注册消费者
     * @return
     */
    public void addConsumer(TimeDelayConsumer timeDelayConsumer);


    /***
     * 消费
     */
    public void consume();

}
